package cn.zengdeai.langchain4j_springboot.pojo;

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;
import java.time.Duration;

@Data
@Component
//@ConfigurationProperties(prefix = "langchain4j.doubao")
public class DoubaoChatModelProperties {
    /**
     * 豆包API密钥
     */
    @Value("${langchain4j.open-ai.streaming-chat-model.api-key}")
    private String apiKey;

    /**
     * 模型名称（默认：db-llama-3-8b-instruct）
     */
    @Value("${langchain4j.open-ai.streaming-chat-model.model-name}")
    private String modelName = "db-llama-3-8b-instruct";

    /**
     * 生成温度（0-1，默认0.7）
     */
    private Double temperature = 0.7;

    /**
     * API调用超时时间（默认30秒）
     */
    private Duration timeout = Duration.ofSeconds(30);

    /**
     * 最大重试次数（默认3次）
     */
    private Integer maxRetries = 3;

    /**
     * 自定义API端点（可选）
     */
    private String endpoint;

    /**
     * 连接池最大空闲连接数（默认5）
     */
    private Integer maxIdleConnections = 5;

    /**
     * 保持活动持续时间（默认300秒）
     */
    private Duration keepAliveDuration = Duration.ofSeconds(300);
}